1. Field of the Invention
The invention relates to a method for compressing an image data block, more particularly to a method for compressing an image data block that has a relatively low memory and bus bandwidth requirement and that can enhance graphics processing efficiency.
2. Description of the Related Art
In the processing of 3D graphics, texture mapping is a very important technique to be applied to render details in a scene. Many basic or frequently used textures are stored in a memory unit, and can be accessed by a graphics chip to select desired ones for rendering in an appropriate area of a scene to be rendered. A conventional texture accessing process involves a texture processing unit in a graphics chip that can access desired textures from a texture database in a local memory of a memory unit.
However, in 3D graphics, to serve the purpose of making a scene that is vivid and non-monotonous and that achieves natural color rendering, much more memory space is required to store a lot of texture data, and a larger bus bandwidth is required for a texture database. For solving the aforesaid problems, there are first and second algorithms available to compress texture data:
1. JEPG-like algorithms include TREC used in Talisman, and MPEG 2 used in PS 2. The JEPG-like algorithms can achieve high compression ratio with acceptable texture quality. However, the length of an encoded bitstream generated by the JEPG-like algorithms is not fixed. The variance of the lengths of encoded bitstreams can result in waste of the bandwidth and an increase in hardware costs.
2. VQ-like algorithms, such as S3TC and FXTC, are used in compression with high complexity and decompression with low complexity. The unbalanced complexity of the VQ-like algorithms is suitable for texture compression, but the compression ratio thereof is low such that the requirement of the memory and the bus bandwidth cannot be reduced effectively.